zabbix设置邮件报警

一、首先安装mailx组件并配置好能够通过三方邮箱发送邮件

1
yum install mailx

        然后编辑mailx的配置文件

1
vi /etc/mail.rc

        在最末尾添加如下信息

1
2
3
set from=xxxxxx@qq.com smtp=smtp.qq.com
set smtp-auth-user=xxxxxx@qq.com smtp-auth-password=xxxxxx
set smtp-auth=login

        保存退出后测试邮件是否能够正常发送出去

1
echo "zabbix test mail" |mail -s "zabbix" xxx@163.com

二、配置Zabbix服务端邮件报警

1、打开Zabbix

        管理-示警媒介类型-创建媒体类型

名称:Sendmail
类型:脚本
脚本名称:sendmail.sh
已启用:勾选
存档

2、设置Zabbix用户报警邮箱地址

        管理-用户-Admin (Zabbix Administrator)

        切换到示警媒介-添加

类型:Sendmail
收件人:xxx@163.com
其他默认即可,也可
以根据需要设置
状态:已启用
存档

3、设置Zabbix触发报警的动作

        组态-动作-创建动作

        注意,下面的默认接收人那一栏中需要添加(默认接收人:)这个字段,否则将可能导致邮件中文乱码

        默认接收人:默认接收人:故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!

        默认信息:
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
恢复信息:打钩

        注意,下面的恢复主旨那一栏中需要添加(恢复主旨:)这个字段,否则将可能导致邮件中文乱码

        恢复主旨:恢复主旨:恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!

        恢复信息:
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
已启用:打钩

        切换到操作选项

新的
操作类型:送出信息
送到用户:添加
默认信息:打钩
选择用户:Admin
选择
仅送到:Sendmail
存档

4、添加Zabbix服务端邮件发送脚本

1
2
3
4
5
6
7
8
9
cd/usr/local/zabbix-2.4.4/scripts #进入脚本存放目录
vi sendmail.sh #编辑,添加以下代码
#!/bin/sh
#export LANG=zh_CN.UTF-8 #该命令能够解决发送的中文变成了乱码的问题
echo "$3" | mail -s "$2"$1
:wq! #保存退出
chown zabbix.zabbix /usr/local/zabbix-2.4.4/scripts/sendmail.sh #设置脚本所有者为zabbix用户
chmod +x /usr/local/zabbix-2.4.4/scripts/sendmail.sh #设置脚本执行权限

5、设置zabbix_server服务调用脚本的目录

1
vim/usr/local/zabbix-2.4.4/etc/zabbix_server.conf

        进入zabbix_server配置文件

1
AlertScriptsPath=/usr/local/zabbix-2.4.4/scripts

        找到上面这一行,将脚本存放目录写到此处

        保存并重启zabbix_server服务

三、测试Zabbix报警

        关闭Zabbix客户端服务

1
service zabbix_agentd stop

        查看xxx@163.com邮箱,会收到报警邮件

        再开启Zabbix客户端服务

1
service zabbix_agentd start

        查看xxx@163.com邮箱,会收到恢复邮件

        使用外部邮箱账号发送报警邮件设置完成。

        至此,Zabbix邮件报警设置完成。